/**
 * AB5 点击消除
 *
 * 描述
 * 牛牛拿到了一个字符串。
 * 他每次“点击”，可以把字符串中相邻两个相同字母消除，例如，字符串"abbc"点击后可以生成"ac"。
 * 但相同而不相邻、不相同的相邻字母都是不可以被消除的。
 * 牛牛想把字符串变得尽可能短。他想知道，当他点击了足够多次之后，字符串的最终形态是什么？
 *
 * 输入描述：
 * 一个字符串，仅由小写字母组成。（字符串长度不大于300000）
 *
 * 输出描述：
 * 一个字符串，为“点击消除”后的最终形态。若最终的字符串为空串，则输出0。
 */

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

/**
 * 这里用栈来写就好了, 就和括号匹配一样
 * 时间复杂度 : O(n)
 * 空间复杂度 : O(n)
 */

public class Main {
    public static void main(String[] args) {

        // 输入字符串
        Scanner in = new Scanner(System.in);
        String s = in.next();

        // 数组化
        char[] ch = s.toCharArray();
        int n = s.length();

        // 相当于栈
        List<Character> res = new ArrayList<>();

        // 先加入第一个
        res.add(ch[0]);

        for (int i = 1; i < n; i++) {

            if (!res.isEmpty() && res.get(res.size() - 1) == ch[i]) {
                // 出栈
                res.remove(res.size() - 1);
            } else {
                // 入栈
                res.add(ch[i]);
            }
        }

        // 最后的结果判断
        if (res.size() == 0) {
            System.out.print(0);
        } else {
            for (int i = 0; i < res.size(); i++) {
                System.out.print(res.get(i));
            }
        }
    }
}